package me.zhengjie.modules.repository.intellectual;

import me.zhengjie.modules.domain.intellectual.Patent;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

@Mapper
public interface EnterIntPatentMapper {
    /**
     * 批量添加企业专利信息
     * @param list
     * @return
     */
    int insertPatentByList(List<Patent> list);

    /**
     * 自动添加企业专利信息
     * @param list
     * @return
     */
    int AutoInsertPatentByList(List<Patent> list);

    /**
     * 根据企业名称查询专利信息
     * @param name
     * @return
     */
    List<Patent> selectPatentByName(String name);

    /**
     * 根据企业名称查询企业专利信息总条数
     * @param name
     * @return
     */
    int selectPatentByNameToTotal(String name);

    /**
     * 根据条件分页查询专利信息
     * @param map
     * @return
     */
    List<Patent> selectPatentForPageByConditions(Map<String,Object> map);

    /**
     * 根据条件查询专利信息总条数
     * @param map
     * @return
     */
    int selectPatentForPageByConditionsToTotal(Map<String,Object> map);

    /**
     * 统计专利状态
     * @return
     */
    List<String> selectPatentStatus();
    /**
     * 统计专利类型
     * @return
     */
    List<String> selectPatentType();

    /**
     * 统计专利申请日期
     * @return
     */
    List<String> selectPatentAppTime();

    /**
     * 统计专利公开日期
     * @return
     */
    List<String> selectPatentPubDate();

    /**
     * 查询专利总条数
     * @return
     */
    int selectPatentCount();

    /**
     * 查询专利总条数
     * @return
     */
    int selectPatentCountByCondition(Integer honor);

    /**
     * 根据日期年份查询专利信息和总条数
     * @param date
     * @return
     */
    List<Patent> selectPatentByYear(String date);

    /**
     * 查询每年专利总数
     * @param date
     * @return
     */
    int selectPatentByYearToTotal(String date);
    /**
     * 查询每年专利总数
     * @param map
     * @return
     */
    int selectPatentByYearToTotalOnMap(Map<String,Object> map);

    /**
     * 里程碑
     * @param map
     * @return
     */
    int selectPatentByIdAndYearForCount(Map<String, Object> map);
}
